home *** CD-ROM | disk | FTP | other *** search
/ PC Open 107 / PC Open 107 CD 2.bin / CD2 / PDF / Corsi / PHP / lezione_4 / stud_cv.php < prev    next >
Encoding:
PHP Script  |  2004-12-23  |  2.7 KB  |  54 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  2. <html>
  3. <head>
  4.     <title>La selezione di uno studente</title>
  5. </head>
  6. <body>
  7. <?php
  8.     // Creo una connessione con il database universitas
  9.     $nome_db = "universitas";
  10.     $id_connessione=@mysql_connect("127.0.0.1","root","pluto") or die("Non Φ possibile accedere al server");
  11.     @mysql_select_db($nome_db,$id_connessione) or die("Non Φ stato possibile accedere al database");
  12.  
  13.     // Prima operazione: query con i dati dello studente e stampa dei dati anagrafici (una sola riga viene estratta)
  14.     $oggi=getdate();
  15.     $anno=$oggi[year];
  16.     $q_1="SELECT cognome, nome, matricola, YEAR(data_nascita) AS anno, tesi_con FROM studente WHERE matricola='".$_POST['stud_nome']."'";
  17.     $id_ris_1=@mysql_query($q_1) or die("Non Φ possibile eseguire la query");
  18.     $record_1=mysql_fetch_array($id_ris_1);
  19.     $eta=$anno-$record_1[anno];
  20.     echo "<h3>Studente: ".$record_1[cognome]." ".$record_1[nome]."<br>Matricola: ".$record_1[matricola]."<br>Anni: ".$eta."<p></h3>";
  21.  
  22.     // Seconda operazione: query (con join) con gli esami passati ordinati per data. Se la query non ha restituisce record, stampare una frase
  23.     $q_2="SELECT corso.nome AS corso, esame.voto AS voto, esame.lode AS lode, date_format(data,'%d-%m-%Y') AS data_esame FROM corso, esame WHERE corso.cod_corso=esame.cod_corso AND esame.matricola='".$_POST['stud_nome']."' ORDER BY data";
  24.     $id_ris_2=@mysql_query($q_2) or die("Non Φ possibile eseguire la query");
  25.     $righe_2=mysql_num_rows($id_ris_2);
  26.     if ($righe_2==0) {
  27.         echo "<h3>Lo studente non ha ancora svolto alcun esame</h3><p>";
  28.     }
  29.     else {
  30.         echo "<h3>Lo studente ha sostenuto $righe_2 esami</h3><p>";
  31.         $somma_voti=0;
  32.         while ($record_2=mysql_fetch_array($id_ris_2)) {
  33.             echo $record_2[data_esame]." : ".$record_2[corso]." - Votazione: ".$record_2[voto];
  34.             $somma_voti=$somma_voti+$record_2[voto];
  35.             if ($record_2[lode]==si) {
  36.                 echo " e lode";
  37.             }
  38.             echo "<br>";
  39.         }
  40.         $media=$somma_voti/$righe_2;
  41.         echo "<p><h3>con una media voti di $media</h3>";
  42.     }        
  43.  
  44.     // Terza operazione: se lo studente Φ in tesi, stampare i dati del professore che lo segue (sarα uno solo per come Φ stato strutturato il DB)
  45.     if (!is_null($record_1[tesi_con])) {
  46.         $q_3="SELECT prof.cognome AS cognome, prof.nome AS nome, prof.dipartimento AS dipartimento FROM prof,studente WHERE studente.matricola='".$record_1[matricola]."' AND prof.cod_fisc=studente.tesi_con";
  47.         $id_ris_3=@mysql_query($q_3) or die("Non Φ possibile eseguire la query");
  48.         $record_3=mysql_fetch_array($id_ris_3);
  49.         echo "<h3>Lo studente Φ in tesi col prof. ".$record_3[cognome]." ".$record_3[nome]." del Dipartimento di ".$record_3[dipartimento]."</h3>";
  50.     }
  51.     mysql_close();
  52.     ?>
  53. </body>
  54. </html>